package com.chase.framerwork.util;

import java.util.HashMap;
import java.util.Map;

/**
 * 单用户在线控制 重复登录时，仿QQ登录方式：后登录的挤掉前登录的
 * 
 * @Author Chase
 * @Date 2013-10-15
 */
public class SingleOnline
{
	private static Map<String, String> onlineMap = new HashMap<String, String>();

	/**
	 * 将用户添加到在线列表
	 * 
	 * @param userCode
	 * @param sessionId
	 */
	public static synchronized void addUser(String userCode, String sessionId)
	{
		if (onlineMap.containsKey(userCode))
		{
			onlineMap.remove(userCode);
		}

		onlineMap.put(userCode, sessionId);
	}

	/**
	 * 是否为合法用户
	 * 
	 * @param userCode
	 * @param sessionId
	 * @return
	 */
	public static boolean isValidUser(String userCode, String sessionId)
	{
		if (!onlineMap.containsKey(userCode))
		{
			return false;
		}

		if (!onlineMap.get(userCode).equals(sessionId))
		{
			return false;
		}

		return true;
	}
}
